#include <vector>
#include <algorithm>
using namespace std;

class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
    // 先排序
    sort(nums1.begin(), nums1.end());
    sort(nums2.begin(), nums2.end());

    int j = 0, k = 0;
    vector<int> res;

    while (j < nums1.size() && k < nums2.size()) {
        if (nums1[j] == nums2[k]) {
            // 避免重复添加相同的交集元素
            if (res.empty() || res.back() != nums1[j]) {
                res.push_back(nums1[j]);
            }
            j++;
            k++;
        } else if (nums1[j] < nums2[k]) {
            j++;
        } else {
            k++;
        }
    }

    return res;
}
};

int main(){

    return 0;
}